package com.shycloud.mido.member.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shycloud.mido.common.core.util.R;
import com.shycloud.mido.member.api.entity.BasicGoodsInfo;
import com.shycloud.mido.member.api.entity.BasicShoppingBanner;
import com.shycloud.mido.member.api.vo.AppAppShoppingCartVO;
import com.shycloud.mido.member.api.vo.AppShoppingOrderVO;
import com.shycloud.mido.member.api.vo.AppShoppingPurchaseVO;
import com.shycloud.mido.member.api.vo.MemberOrderAppVO;
import com.shycloud.mido.member.api.vo.RecommendVO;

/**
 * @author Xiaoxing Yu
 * @date 1/29/21 11:26 AM
 **/
public interface AppShoppingMallService extends IService<BasicGoodsInfo> {

	/**
	 * 获取所有商品列表
	 *
	 * @return
	 */
	Map getAllGoods();

	R addToCart(AppAppShoppingCartVO appShoppingCartVO);

	Boolean createOrder(AppShoppingOrderVO orderVO) ;

	R purchase(AppShoppingPurchaseVO purchaseVO);

	List<AppAppShoppingCartVO> getShoppingCart();

	List<MemberOrderAppVO> getOrders(String status);

	List<MemberOrderAppVO> searchOrder(String keyword);

	Boolean deleteCart(List<Integer> idList);

	Boolean editCart(AppAppShoppingCartVO appShoppingCartVO);

	Map getUserAvail(String memberId);

	Map searchGoods(String keyword);

	List<BasicShoppingBanner> getBanners(Integer goodsId);

	List<RecommendVO> getRecommend(Integer type);

	AppAppShoppingCartVO getCartByCollection(String memberId, Integer collectionId);
}
